body {
    font-family: Arial, sans-serif;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

header, footer {
    background-color: #333;
    color: white;
    text-align: center;
    padding: 1em;
}

main {
    flex: 1;
    display: flex;
}

article {
    flex: 1;
    margin: 10px;
    padding: 10px;
    border: 1px solid #ddd;
    border-radius: 5px;
}

aside {
    width: 200px;
    background-color: #f4f4f4;
    padding: 10px;
    border-left: 1px solid #ddd;
}

footer {
    text-align: center;
    padding: 10px;
}

@media (max-width: 768px) {
    main {
        flex-direction: column;
    }

    aside {
        width: 100%;
        border-left: none;
    }
}